Skip to main content

dqget

API Overview

dqget is an API in Linux kernel. This rule belongs to the return value check type. This rule is generated using APISpecGen.

Rule Description

tip

dqget returns error pointer on failure, use IS_ERR to check the return value

info
  • Tags: return value check
  • Parameter Index: N/A
  • CWE Type: CWE-253

Rule Code


import cpp
import semmle.code.cpp.controlflow.SSA


class EVPFunctionCall extends FunctionCall {
EVPFunctionCall() {
this.getTarget().hasName("dqget")
}
}


predicate isErrCheckFunction(Function f) {
f.hasName("IS_ERR")
}

from EVPFunctionCall call, ValueAccess ret
where
ret = call.getAnAccess() and
not exists(FunctionCall check |
isErrCheckFunction(check.getTarget()) and
check.getArgument(0).getAChild*() = ret
)
select call, "The return value of dqget is not checked with IS_ERR."